package net.dfx.iot_download_tool.utils;

import java.util.concurrent.atomic.AtomicLong;

/**
 * 此类实现数据库表中主键PK字符串生成
 */
public class SnowFlakeIdGenerator {
	private AtomicLong idCounter = new AtomicLong(0); // 初始值可设为时间戳或其他基准
	private long EPOCH = 1713600000000L; // 自定义起始点（可选）
	private int ID_LENGTH = 12; // 输出长度（根据业务调整）
	// 生成逻辑：当前计数 + 预设纪元起点 = 正值且可读性强的 ID
	public String generate() {
        long currentId = idCounter.incrementAndGet();
        return String.format("%0" + ID_LENGTH + "d", currentId - EPOCH);
    }
}
